#include<bits/stdc++.h>
using namespace std;
bool judge(){
    char str[1024];
    gets(str);
    int i=0,k=strlen(str)-1;
    for(;i<k;i++,k--){
        if(str[i]!=str[k])
            break;
    }
    if(str[i]!=str[k])
        return 0;
    // puts(str);
    return 1;
}
void fn(int n){
    if(n<=0)
        printf("输入错误！\n");
    else if(n==1)
        printf("1/1");
    else{
        int u=1,v=1;
        for(int k=2;k<=n;k++){
            u=u*k+v;
            v=v*k;
        }
        printf("%d(%d/%d)",u/v,u-v*(u/v),v);
    }
}
void f(){
    int i,j;//i表示牌数量   j表示翻牌的基数
    int t;
    printf("正面朝上的牌:");
    for(int i=1;i<=100;i++){
        t=0;
        for(int j=2;j<=i;j++){  //每次j都从2开始递增到i结束，这样可以保证每次都能够重复前i-1的翻牌情况
            if(i%j==0)          //i是j的倍数的时候翻一次
                t++;
        }
        if(t%2==0){
            printf("%d ",i);
        }
    }
}
void f(){
    int i,j;//i表示数量，j表示要翻牌的基数
    int t;
    printf("正面朝上的牌:");
    for(i=1;i<=100;i++){
        t=0;
        for(j=2;j<=i;j++){//每次都是从2开始到i结束为基数翻牌，目的是将前i-1次翻牌的结果再现
            if(i%j==0){//i是j的倍数翻一次
                t++;
            }
        }
        if(t%2==0){
            printf("%d",i);
        }
    }
}
int main(){
    // 1.回文串
    // printf("%d",judge());
    // 2.调和级数分数形式
    // fn(10);
    // 3.扑克牌
    f();
    return 0;
}